node->name = g_strdup (name);
}
+/**
+ * gsk_render_node_set_blend_mode:
+ * @node: a #GskRenderNode
+ * @blend_mode: the blend mode to be applied to the node's children
+ *
+ * Sets the blend mode to be used when rendering the children
+ * of the @node.
+ *
+ * The default value is %GSK_BLEND_MODE_DEFAULT.
+ *
+ * Since: 3.22
+ */
+void
+gsk_render_node_set_blend_mode (GskRenderNode *node,
+ GskBlendMode blend_mode)
+{
+ g_return_if_fail (GSK_IS_RENDER_NODE (node));
+ g_return_if_fail (!node->is_mutable);
+
+ if (node->blend_mode == blend_mode)
+ return;
+
+ node->blend_mode = blend_mode;
+}
+
+/**
+ * gsk_render_node_get_blend_mode:
+ * @node: a #GskRenderNode
+ *
+ * Retrieves the blend mode set by gsk_render_node_set_blend_mode().
+ *
+ * Returns: the blend mode
+ *
+ * Since: 3.22
+ */
+GskBlendMode
+gsk_render_node_get_blend_mode (GskRenderNode *node)
+{
+ g_return_val_if_fail (GSK_IS_RENDER_NODE (node), GSK_BLEND_MODE_DEFAULT);
+
+ return node->blend_mode;
+}
+
/**
* gsk_render_node_get_draw_context:
* @node: a #GskRenderNode
GDK_AVAILABLE_IN_3_22
cairo_t * gsk_render_node_get_draw_context (GskRenderNode *node);
+GDK_AVAILABLE_IN_3_22
+void gsk_render_node_set_blend_mode (GskRenderNode *node,
+ GskBlendMode blend_mode);
+GDK_AVAILABLE_IN_3_22
+GskBlendMode gsk_render_node_get_blend_mode (GskRenderNode *node);
+
GDK_AVAILABLE_IN_3_22
void gsk_render_node_set_name (GskRenderNode *node,
const char *name);